#include<bits/stdc++.h>
#define N 200005
#define ll long long
#define inf 0x3f3f3f3f3f3f3f3f
using namespace std ;

inline int read(){
	int s=0,w=1;char c=getchar();
	while(c<48||c>57) {if(c=='-') w=-1;c=getchar();}
	while(c>=48&&c<=57) s=(s<<1)+(s<<3)+c-48,c=getchar();
	return s*w;
}

inline void write(ll x){
	if(x<0) putchar('-'),x=-x;
	if(x>9) write(x/10);
	putchar(x%10+48);
}

int n,m;
int a[N+100];
int aa[N+100];

ll sum[N+100];
ll dp[2][N+100];

int main(){

	freopen("pockets.in","r",stdin);
	freopen("pockets.out","w",stdout);
	
	n=read();
	for(int i=1;i<n;i++) a[i]=read(),sum[i]=sum[i-1]+a[i];
	m=read();
	for(int i=1;i<=m;i++) aa[i]=read();
	
	if(1ll*n*m<=10000000){
		for(int T=1;T<=m;T++){
			a[n]=aa[T];
			for(int i=0;i<=n;i++) dp[0][i]=inf;
			for(int i=0;i<=n;i++) dp[1][i]=-inf;
			dp[1][n]=0,dp[0][n]=0;
			
//			for(int i=n-1;i>=1;i--){
//				for(int j=i+1;j<=n;j++){
//					dp[1][i]=max(dp[1][i],dp[0][j]+a[j]-(sum[j-1]-sum[i]));
//					dp[0][i]=min(dp[0][i],dp[1][j]-a[j]+(sum[j-1]-sum[i]));
//				}
////			cout<<i<<' '<<dp[1][i]<<' '<<dp[0][i]<<endl;
//			}

			ll Max=-inf,Min=inf;
			for(int i=n;i>=1;i--){
				if(i<n) dp[1][i]=Max+sum[i],
						dp[0][i]=Min-sum[i];
				Max=max(Max,dp[0][i]+a[i]-sum[i-1]);
				Min=min(Min,dp[1][i]-a[i]+sum[i-1]);
			}
			write(dp[1][2]+a[1]-a[2]),puts("");
		}
		return 0;
	}
	
	bool kk=0;
	for(int i=1;i<=m;i++) if(aa[i]<=1000000) {kk=1;break;}
	if(!kk){
		for(int i=1;i<=m;i++){
			a[n]=aa[i];
			write(a[1]+a[n]-(sum[n-1]-sum[1])),puts("");
		}
		return 0;
	}
	
	cout<<"hhhh"<<endl;

	return 0;
}



